home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 57131 / 57131.xpi / chrome / beefree.jar / content / beefree / w / bf.w.doubleclick.js < prev    next >
Encoding:
JavaScript  |  2010-01-25  |  3.5 KB  |  101 lines

  1. /*
  2.     2009 - Copyright by Bee <http://www.honeybeenet.altervista.org>.
  3.     This program is free software; you can redistribute it and/or
  4.     modify it under the terms of the GNU General Public License
  5.     as published by the Free Software Foundation; either version 2
  6.     of the License, or (at your option) any later version.
  7.  
  8.     This program is distributed in the hope that it will be useful,
  9.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.     GNU General Public License for more details.
  12.  
  13.     You should have received a copy of the GNU General Public License
  14.     along with this program; if not, write to the Free Software
  15.     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  16. */
  17.  
  18. function beefree_w_doubleclick_domain(selfIndex, stack)
  19. {
  20.     //case insensitive (gmi)
  21.     var address = stack["address"];
  22.     var regexp = /(\/\/|\.)doubleclick\.net\//gmi;
  23.     return beefree_regexp_test(address, regexp);
  24. }
  25.  
  26. function beefree_w_doubleclick_host(selfIndex, stack)
  27. {
  28.     var hostname = stack["hostname"];
  29.     //case insensitive (gmi)
  30.     var regexp = /doubleclick\.net/gmi;
  31.     return beefree_regexp_test(hostname, regexp);
  32. }
  33.  
  34. function beefree_w_doubleclick_replace(selfIndex, stack)
  35. {
  36.     var address = stack["address"];
  37.     var current_page = stack["current_page"];
  38. //http://ad.doubleclick.net/clk;1231231;12312312;c?http://TARGETTARGETTARGET.html?WT.mc_id=o_sap44&WT.mc_ev=click
  39.     var URL1=/(\/\/|\.)doubleclick\.net\/clk/gmi;
  40.     var is_ok = beefree_is_hyperlink(address) && 
  41.                 (beefree_substr_test(address, ";") && beefree_substr_test(address, "?")) && 
  42.                 (beefree_regexp_test(address, URL1));
  43.     if (is_ok)
  44.     {
  45.         var done = false;
  46.         var address_new = "";
  47.         address_new = unescape(beefree_query_get_ext(address, "", ";", "?", "?"));
  48.         if(!done && address_new != address)
  49.         {
  50.             if(beefree_is_protocol_web(address_new))
  51.             {
  52.                 done = true;
  53.                 address = address_new;
  54.             }
  55.         }
  56.     }
  57.     return address;
  58. }
  59.  
  60. function beefree_w_doubleclick_accept(selfIndex, stack)
  61. {
  62.     var address = stack["address"];
  63.     var current_page = stack["current_page"];
  64.     return beefree_is_hyperlink(address) && 
  65.             !beefree_is_anchor_magic(address, current_page) &&
  66.             !beefree_is_anchor(address);
  67. }
  68.  
  69. function beefree_w_doubleclick_confirm(selfIndex, stack)
  70. {
  71.     var address = stack["address"];
  72.     var address_original = stack["address_original"];
  73.     var current_page = stack["current_page"];
  74.     return !((beefree_website_get(selfIndex)["test.domain"])(selfIndex, stack)) || address != address_original ||
  75.             beefree_host_from_address(address) != beefree_host_from_address(current_page);
  76. }
  77.  
  78.  
  79. (function(){
  80.     var data = new Array();
  81.     data["enabled"] = true;
  82.     data["system"] = true;
  83.     data["version"] = 1;
  84.     data["name"] = "Doubleclick";
  85.     data["test.host"] = beefree_w_doubleclick_host;
  86.     data["test.domain"] = beefree_w_doubleclick_domain;
  87.     data["referer.remove"] = true;
  88.     data["useragent.remove"] = true;
  89.     data["links.remove"] = true;
  90.     data["links.recursion"] = true;
  91.     data["links.metaengine"] = true;
  92.     data["links.onload"] = true;
  93.     data["links.ignoredomain"] = false;
  94.     data["links.function.accept"] = beefree_w_doubleclick_accept;
  95.     data["links.function.replace"] = beefree_w_doubleclick_replace;
  96.     data["links.function.confirm"] = beefree_w_doubleclick_confirm;
  97.     beefree_h_script_add(data);
  98. })();
  99.  
  100.  
  101.